Rule-Based Selection of Content

ABSTRACT

A method includes, at a customer premise equipment (CPE) device, accessing data descriptive of content available via a network coupled to a network interface of the CPE device. A plurality of rules are analyzed using a forward-inferencing rules engine to determine whether one or more of the rules are satisfied based on the data. The rules include at least one user defined rule and at least one automatically generated rule, where the at least one automatically generated rule is automatically generated based on user history information. The method includes selecting particular content of the content available via the network for presentation via a display device.

BACKGROUND

A content delivery system may present a user with more content optionsthan can be processed by the user in a reasonable amount of time. As aresult, it may be difficult for the user to quickly and easily locatecontent that the user is interested in. For example, when the user hasnot previously decided what television program to watch, it may betime-consuming for the user to go through a channel listing to find atelevision program that the user will be interested in watching.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram to illustrate a particular embodiment of a systemoperable to perform rule-based selection of content;

FIG. 2 is a diagram to illustrate particular embodiment of the set-topbox device of FIG. 1

FIG. 3 is a diagram to illustrate a particular embodiment of theresidential gateway of FIG. 1;

FIG. 4 is a diagram to illustrate a particular embodiment of aninterface generated by one of the rules engines of FIG. 1;

FIG. 5 is a flow diagram to illustrate a particular embodiment of amethod of performing rule-based selection of content; and

FIG. 6 is a block diagram of an illustrative embodiment of a generalcomputer system.

DETAILED DESCRIPTION

Disclosed embodiments enable improved user interaction with mediacontent available via a content provider system. For example, disclosedembodiments may include a set-top box, a residential gateway, or anothercustomer premise equipment (CPE) device that enables customization of auser experience in connection with media content that is available via acontent provider. To illustrate, the CPE device may include a set-topbox device, a residential gateway device, a television device, a networkinterface device, a modular card (e.g., a functional expansion unit), amicro cell, or another CPE device that enables rules based selection ofcontent and customization of a user experience.

In a particular embodiment, a customer premise equipment (CPE) deviceincludes a network interface, a processor coupled to the networkinterface, and a memory accessible to the processor. The memory includesinstructions executable by the processor to access data descriptive ofcontent available via a network coupled to the network interface. Theinstructions are also executable by the processor to analyze a pluralityof rules using an inferencing rules engine to determine whether one ormore of the rules are satisfied based on the data. The rules include atleast one user-defined rule and at least one automatically generatedrule, where the at least one automatically generated rule isautomatically generated based on user history information. Theinstructions are further executable to select particular content of thecontent available via the network for presentation via a display device.

In another particular embodiment, a method includes, at a customerpremise equipment (CPE) device, accessing data descriptive of contentavailable via a network coupled to a network interface of the CPEdevice. The method also includes analyzing a plurality of rules using aninferencing rules engine to determine whether one or more of the rulesare satisfied based on the data. The rules include at least oneuser-defined rule and at least one automatically generated rule, wherethe at least one automatically generated rule is automatically generatedbased on user history information. The method further includes selectingparticular content of the content available via the network forpresentation via a display device.

In another particular embodiment, non-transitory processor-readablemedium includes instructions that, when executed by a processor, causethe processor to, at a customer premise equipment (CPE) device, generateuser history information by monitoring actions of a user, wherein theactions indicate that the user frequently accesses a particular programat a particular time. The instructions are also executable to accessdata descriptive of content available via a network coupled to a networkinterface of the CPE device. The instructions are further executable toanalyze a plurality of rules using a forward-inferencing rules engine todetermine whether one or more of the rules are satisfied based on thedata. The rules include at least one user-defined rule and at least oneautomatically generated rule, where the at least one automaticallygenerated rule is automatically generated based on user historyinformation. The instructions are executable to select particularcontent of the content available via the network for presentation via adisplay device. In one example, the particular content includes contentassociated with a social network.

FIG. 1 illustrates a particular embodiment of a system to customize auser experience with media content. The system 100 includes aresidential gateway (RG) 102 coupled to a set-top box device (STB) 104that provides media content to a display device, such as an illustrativetelevision 106. The residential gateway 102 may be coupled to a contentprovider server 110 via a network 108. In a particular embodiment, thenetwork 108 may include an access network of an Internet ProtocolTelevision (IPTV) system or an access network of another televisionsystem, such as a cable provider television network or a satellitetelevision network.

One or both of the residential gateway 102 and the set-top box device104 may include a rules engine 112. For example, in the particularembodiment depicted in FIG. 1, both the residential gateway 102 and theset-top box device 104 include the rules engine 112. The rules engine112 may be adapted to facilitate user-customized interaction withcontent provided via the content provider server 110. In a particularembodiment, the rules engine 112 is an inferencing rules engine such asa forward-inferencing rules engine or other inferencing rules engine.For example, the rules engine 112 may include a forward-reasoningrules-based system that may improve a customer experience involved inaccessing content via the content provider server 110.

In a particular embodiment, the rules engine 112 may implement a Retealgorithm or variant thereof (e.g., a Rete I algorithm, a Rete IIalgorithm, Rete III algorithm or some other Rete-based algorithm). TheRete algorithm may access automatically generated rules as well asuser-defined or user edited rules in order to improve the userinteraction with the content. The Rete algorithm may enable the rulesengine 112 to process both user-defined rules and automaticallygenerated rules in a single pass. Further, the Rete algorithm mayimprove the speed of processing rules when a large quantity ofinformation or data is to be matched against particular rules. Thus, theRete algorithm may be preferable to other types of rule-based systems,such as neural networks (which utilize automatically generated rules butnot user-defined rules) and expert systems (which may require multiplerules engines in order to process both user-defined rules andautomatically generated rules). In a particular embodiment, the rulesengine 112 is adapted to access data that is descriptive of contentavailable via the network 108 from the content provider 110. The rulesengine 112 may analyze the data using a forward-inferencing rules engineto determine whether one or more rules are satisfied based on the data.As previously mentioned, the rules may include one or more user-definedrules and one or more automatically generated rules. Further, the rulesengine 112 may be adapted to automatically generate additional rulesbased on observed interactions between a user and the set-top box device104, the residential gateway 102, a personal communication device (e.g.,a mobile communication device 114), or a computing device 116.

The rules engine 112 may also automatically select content for displayat the television 106. For example, the content provider server 110 mayhave access to a database 120 that includes information such as anelectronic program guide (EPG) 122, media content 124, advertisements126, a startup screen 128, other media content, or any combinationthereof. When the rules engine 112 selects particular media content,such as the EPG 122, the content 124, the advertisements 126, or thestartup screen 128, the particular media content is presented via thetelevision 106.

In a particular embodiment, the rules engine 112 is further operable toautomatically generate additional rules (e.g., based on viewing habitsand actions). For example, the rules engine 112 may track programsrecorded (e.g., at a local or network-based digital video recorder(DVR)) by the user. The rules engine 112 may also track how much of aprogram is watched by the user, which particular channels are watched bythe user, and program names, days of the week, and times of day thatprograms are watched by the user.

In a particular embodiment, the viewing habits are captured by theset-top box device 104, the residential gateway 102, or both, anduploaded by the rules engine 112 to the content provider server 110 forstorage or generation of rules. For example, the content provider server110 may have access to additional information about programs that is nottypically provided via the EPG 122, and the user interaction history maybe uploaded to the content provider server 110 for processing withrespect to the particular program content information that is notincluded in the EPG 122 to determine additional subtleties to particularrules. For example, the content provider server 110 may recognize thatthe user watched a baseball every five to six days, may determine that aparticular pitcher was the scheduled starter in each of those baseballgames, and may therefore generate a rule indicating that the user is afan of the particular starting pitcher. If the starting pitcher issubsequently traded to a new team and the user is not aware of thetrade, the newly generated rule may alert the user to the startingpitcher's next start with the new team. For example, short messageservice (SMS) alerts and/or e-mail alerts may be generated in responseto determining that a new television episode or sporting event matchinguser preferences is scheduled.

The rules engine 112 or the content provider server 110 may alsogenerate alerts to other devices, such as the mobile communicationdevice 114 or the computing device 116. For example, the alerts mayindicate when particular programs are available or may provide otherinformation. The content provider server 110 may also use the rulesengine 112 associated with a particular user, subscriber data 130associated with a particular user, or user interaction information tosupport targeted marketing of particular non-media items to the user.For example, if the content provider server 110 determines that theparticular user is a fan of a particular sports team, the contentprovider server 110 may provide targeted advertisements 126 for sportingevents tickets or sports memorabilia (e.g., jerseys, pennants, or othernon-media items).

In a particular embodiment, the set-top box device 104, the residentialgateway 102, and the television 106 may be used by more than one user(e.g., members of a family or roommates/housemates). Accordingly, therules engine 112 may include or be associated with an authenticationmodule that determines a user identification of the user. Thus, therules engine 112 may include rules associated with multiple users, andbased on authentication information, the rules engine 112 may refer to aparticular set of rules that is associated with the identified user thatis currently using the set-top box device 104, the residential gateway102, and/or the television 106.

During one example of operation, in response to the set-top box device104 and the television 106 being powered on, the rules engine 112 mayselect particular content for display at the television 106. Toillustrate, the rules engine 112 may select the startup screen 128 (oraparticular user and may present the startup screen at the television106. The startup screen 128 may include data of the electronic programguide data 122, where the data is sorted in a particular order that isbased on rules associated with the particular user. As another example,the startup screen 128 may include other content (e.g., advertisements)that is selected based on rules associated with the particular user.Additionally, the startup screen 128 or other content may be displayedvia the television 106 in response to selection by the rules engine 112based on subscriber data 130. For example, the subscriber data 130 mayinclude current account balances, user identification information, orinformation about other communication devices associated with the user(e.g., mobile communication device 114 or the computing device 116). Thesubscriber data 130 may also include information about other subscribersystems associated with the user, such as information about membershipsto particular social groups, social networks, or social media groups asocial media group associated with a server 118).

In an example of operation, the rules engine 112 determines a time atwhich the set-top box device 104 or the television 106 is powered on. Inresponse to the time and particular rules, the rules engine 112 mayselect content for display at the television 106. To illustrate, when auser powers on the set-top box device 104 or the television 106, therules engine 112 may determine particular programs that are currentlybeing transmitted from the content provider. For example, a program thatthe user frequently watches may be available or about to becomeavailable via a transmission. In response to determining that thefrequently watched program is available or about to become available,the rules engine 112 may select the program for display. The television106 may be tuned to a channel associated with the frequently watchedprogram so that upon power up, the user is able to immediately view theprogram. In another illustrative example, the rules engine 112 may tunethe television 106 to a startup screen (e.g., the startup screen 128)that includes alerts to notify the user that the frequently watchedprogram is about to begin.

In another example, the program may not be a frequently watched program.For example, the program may have never been watched by the user. Therules engine 112 may determine that the program includes content that issimilar to content viewed by the user, and may in response “recommend”the program to the user. To illustrate, the program may include a livetransmission of a basketball game. Accordingly the user may not havepreviously viewed that particular basketball game. However, based on arule indicating that the user frequently watches sporting events,particular types of sporting events, or sporting events associated witha particular team, the rules engine 112 may determine that the user maybe interested in the live transmission of the basketball game. Inresponse, the rules engine 112 may immediately tune the television 106to the live transmission of the basketball game upon startup of theset-top box device 104 and/or the television 106. Alternately, the rulesengine 112 may cause the television 106 to display an alert that thelive transmission of the basketball game is available or about to becomeavailable. Further, when the rules engine 112 “recommends” a programbased on an automatically generated rule, the rules engine 112 mayprompt the user to add the particular program to a list of preferences.For example, the list of preferences may be used by the rules engine 112to automatically generate additional rules.

In yet another example of operation, the rules engine 112 may determinethat prior to the set-top box device 104 or the television 106 beingpowered on, a transmission of a program frequently watched by the userhas ended. For example, the rules engine 112 may determine that the user“missed” a new episode of a situational comedy program (sit-com)frequently watched by the user. Since the user did not view the episode,the rules engine 112 may select, and cause to be displayed at thetelevision 106, content including an alert indicating that the newepisode was missed. The content may also include a prompt that providesthe user with an option access a recorded version of the episode fromthe content provider 110. For example, the episode may be stored by thecontent provider (e.g., as the stored content 124) and may be availableon-demand.

In an alternate example of operation, in response to the set-top boxdevice 104 or the television 106 being powered on the rules engine 112may present a dynamically generated and/or sorted EPG using the EPG data122. The EPG may be sorted based on rules accessible to and/or generatedby the rules engine 112. To illustrate, a user may indicate via auser-defined rule that a particular channel is to be displayed at thetop of the EPG. Accordingly, the particular channel may be displayed ontop of the EPG presented by the rules engine 112. Other content withinthe EPG may also be sorted based on other rules. For example, othercontent within the EPG may be ordered due to an automatically generatedrule at the rules engine 112. For example, in response to observing thatthe user frequently views news channels, the rules engine 112 mayautomatically generate a rule that causes news channels to be moved tothe top of the EPG.

In another illustrative example of operation, upon power up of theset-top box device 104 or the television 106, the rules engine 112 mayselect particular content from a social media group or social network(e.g., available via the server 118) with which the user is associated.For example, when the server 118 includes a particular content item thatis related to other content items in which the user has previously showninterest, the rules engine 112 may select the particular item fordisplay at the television 106. As another example, upon detecting that asocial media group is related to previous user interactions related toprograms frequently watched by the user), the rules engine 112 mayprompt the user with an option to join the social media group or socialnetwork associated with the particular content. To illustrate, if theuser frequently watches a reality television program, and the rulesengine 112 determines that a social network-based fan club exists forthe reality television program, the rules engine 112 may prompt the userto sign up to participate in the social network and/or join the fanclub. As yet another example, the rules engine 112 may consider programselections made by “friends” of the user (e.g., other people on one ormore social networks that the user has associated themselves with) whendetermining program preferences and recommendations.

In another embodiment of operation, the rules engine 112 may select apredefined user profile of a user in response to detecting that one ormore of the residential gateway 102, the set-top box device 104, and thetelevision 106 has been powered on. Based on the user profile, the rulesengine 112 may select the startup screen 128 for display at thetelevision 106. The startup screen 128 may include content responsive toa current time of day, day of the week, previously detected userinteractions, and scheduled content (e.g., content listed in theelectronic program guide data 122). The rules engine 112 may also selecta live program for immediate display at the television 106. Alternately,or in addition, pre-recorded programs or user prompts may be displayedat the television 106. For example, a list of programs that weretransmitted within the last week, that were not viewed by the user, andthat are available on-demand may be presented immediately at thetelevision 106 or the user may be prompted to view the list of programs.

It will be appreciated that the system 100 of FIG. 1 may enable a userto interact with content in a manner that is customized for particularuser based on a combination of user-defined rules and automaticallygenerated rules. The system 100 of FIG. 1 may thus enable providers(e.g., IPTV, cable, or satellite providers) to provide a simplified,customized, and enjoyable user experience.

FIG. 2 illustrates a particular embodiment of a set-top box device, suchas the set-top box device 104 of FIG. 1. The set-top box device 104includes one or more network interfaces 202 adapted to communicate witha network (e.g., the network 108 of FIG. 1) to receive media contentfrom a content provider (e.g., via the content provider server 110 ofFIG. 1). The network interface 202 may further be used to provideinformation to the content provider regarding user interaction historyand actions 216. The set-top box device 104 may further include adisplay interface 204 adapted to provide display information to adisplay device, such as the television 106 of FIG. 1. The set-top boxdevice 104 may further include a processor 206. The processor 206 may beadapted to perform various functions of the set-top box device 104, suchas to implement one or more applications 210 from a memory 208 of theset-top box device 104. To illustrate, the processor 206 may be adaptedto provide processed media via the display interface 204 to a displaydevice.

The applications 210 may include a television access profile managerapplication 214. The television access profile manager application 214may observe user actions with respect to the set-top box device 104 andstore the user actions as the user history 216. The applications 210 mayalso include a rule generator and editor 212. The rule generator/editor212 may be adapted to generate one or more rules for execution by arules engine (e.g., the rules engine 112 of FIG. 1) based on the userhistory 216. Additionally, the rule generator/editor 212 may be adaptedto provide a user interface to enable a user to generate or defineuser-defined rules.

The applications 210 may also include a set-top box operating system(STB OS) 224. The set-top box operating system 224 may includeinstructions executable by the processor 206 to perform basic functionsof the set-top box device 104, such as interactions with a residentialgateway (e.g., the residential gateway 102 of FIG. 1) formatting,display, and processing of media content, and tuning to particularchannels. The applications 210 may further include a residential gatewaymodule 226 that provides an interface for communication with theresidential gateway. The applications 210 may also include a televisionmodule 228 that provides information to enable interfacing with atelevision (e.g., the television 106 of FIG. 1) via the displayinterface 204.

The applications 210 may include an authentication module 220 that isadapted to provide access control to the set-top box device 104 forparticular users or to identify a particular user based on usercredentials, such as a user identifier and a password. The applications310 may additionally include an audit module 218 and an admin module222.

In a particular embodiment, the set-top box device 104 may implement therules engine 112 of FIG. 1. In such an embodiment, the set-top boxdevice 104 may track user interactions and history, automaticallygenerate rules, and execute a Rete algorithm that processesautomatically generated rules and user-defined rules to select contentto be displayed via the display interface 204.

FIG. 3 illustrates a particular embodiment of a residential gatewaydevice, such as the residential gateway 102 of FIG. 1. The residentialgateway 102 includes one or more network interfaces 302 adapted tocommunicate with a network (e.g., the network 108 of FIG. 1) to receivemedia content from a content provider (e.g., via the content providerserver 110 of FIG. 1). The network interface 302 may further be used toprovide information to the content provider regarding user interactionhistory and actions 316. In a particular embodiment, the residentialgateway 102 transmits content to a set-top box device (e.g., the set-topbox device 104 of FIG. 1), and the set-top box device transmits thereceived content for display to a display device (e.g., the television106 of FIG. 1) via a display interface (e.g., the display interface 204of FIG. 2). The residential gateway 102 may further include a processor306. The processor 306 may be adapted to perform various functions ofthe residential gateway 102, such as to implement one or moreapplications 310 from a memory 308.

The applications 310 may include a television access profile managerapplication 314. The television access profile manager application 314may observe user actions and may store the user actions as the userhistory 316. The applications 310 may also include a rule generator andeditor 312. The rule generator/editor 312 may be adapted to generate oneor more rules for execution by a rules engine (e.g., the rules engine112 of FIG. 1) based on the user history 316. Additionally, the rulegenerator/editor 312 may be adapted to provide a user interface toenable the user to generate or define user-defined rules.

The applications 310 may also include a residential gateway operatingsystem (RG OS) 324. The residential gateway operating system 324 mayinclude instructions executable by the processor 306 to perform basicfunctions of the residential gateway 102, such as interactions with aset-top box device (e.g., the set-top box device 104 of FIG. 1),interactions with other devices on a local network, and interactionswith devices outside the local network. The applications 310 may furtherinclude a STB module 326 that provides an interface for communicationwith a set-top box device. The applications 310 may also include a Wi-Fimodule 328 to enable wireless interfacing with devices (e.g., devices114, 116 of FIG. 1), an Internet module to provide Internet access todevices, and a session initiation protocol (SIP) module 332.

The memory 308 may also store an application framework layer 340 thatincludes an authentication module 320 that is adapted to provide accesscontrol to the residential gateway 102 for particular users or toidentify a particular user based on user credentials, such as a useridentifier and a password. The application framework layer 340 mayadditionally include an audit module 318 and an admin module 322.

In a particular embodiment, the residential gateway 102 may implementthe rules engine 112 of FIG. 1. In such an embodiment, the residentialgateway 102 may track user interactions and history, automaticallygenerate rules, and execute a Rete algorithm that processesautomatically generated rules and user-defined rules to select contentto be displayed at a display device.

FIG. 4 illustrates a particular embodiment of a media interface display402 that may be generated by a rules engine (e.g., the rules engine 112of FIG. 1). In a particular embodiment, the rules engine may generatethe display, at 402, in response to startup of a set-top box device, aresidential gateway device, another CPE device, or a television. Inanother example, the rules engine may generate the display 402 inresponse to identifying a particular user, such as when a particularuser signs in at a device that is associated with or implementing therules engine.

The display 402 includes content selected based on rules executed by therules engine. For example, the display 402 may include electronicprogram guide (EPG) data 404. The EPG data 404 may include particularEPG entries (e.g., entries for particular programs or entries forparticular times) that are based on automatically generated rules,user-defined rules, or both. In another example, the EPG data 404 may besorted in a particular order based on the automatically generated rules,user-defined rules, or both.

The display 402 may also include one or more alerts 406. For example,the alerts 406 may include information indicating that a particularprogram is scheduled to start at a particular time. The alerts 406 mayalso include information indicating that a particular program wasmissed. For example, the alerts 406 may indicate that a program that theuser frequently watches or a “recommended” program that is similar topreviously detected user interests has started, is about to start, orhas ended but is available via recorded media. In another example, thedisplay 402 may include a prompt to request that the user join a socialmedia group, such as a fan page associated with a program that the userhas a demonstrated interest in. Alternately, the fan page may beassociated with an actor or genre of the program.

The display 402 may also include particular media content such ascurrent television content 408. For example, the current televisioncontent 408 may be selected based on a user interest and immediatelydisplayed as part of the display 402. The display 402 may also includeone or more advertisements 410. For example, the advertisements 410 maybe selected based on user interest or user-defined rules. In variousembodiments, the display 402 may include more or fewer windows than thedisplay elements illustrated in FIG. 4. For example, in particularembodiments, the electronic program guide data 404 may not be present.In other examples, the electronic program guide data 404 may be the onlyelement present in the display 402. Likewise, in particular embodiments,the alerts 406 may not be present. Alternately or in addition, inparticular embodiments, the alerts 406 may be the only element presentedin the initial display screen 402. Similarly, the current televisioncontent 408 or the advertisements 410 may not be present or may be theonly elements present. Moreover, one or more of the elements of thedisplay 402 may immediately be presented to a user upon powering up of aset-top box device, a residential gateway, and or a television.

FIG. 5 illustrates a flow chart of a particular embodiment of a methodselecting particular content for display. In an illustrative embodiment,the method may be performed at the system 100 of FIG. 1.

The method may include, at 502, generating user history information bymonitoring actions of a user. For example, user interaction with aset-top box device, a residential gateway, a communication device, suchas a computer or mobile telephony device, or interactions with otherdevices may be monitored to generate the user history information. Theactions may indicate, for example, that a user frequently accesses aparticular program at a particular time, frequently accesses aparticular type of program, or may indicate other user interests thatare determined based on processing and analyzing the user historyinformation. For example, in FIG. 1, the rules engine 112 may generateuser history information.

The method may also include, at 504, automatically generating one ormore rules based on the user history information. For example, in FIG.1, the rules engine 112 may automatically generate one or more rulesbased on the user history information.

The method may further include, at 506, receiving one or moreuser-defined rules. For example, the user-defined rules may include userselections indicating particular programs of interest, particular typesof programs, preferred program schedules, genres, ratings, actors,directors, athletes, or other interests. To illustrate, in FIG. 1, therules engine 112 may receive one or more user-defined rules.

The method may include, at 508, accessing data descriptive of availablecontent. For example, the data descriptive of available content mayinclude electronic program guide (EPG) data or other information that isnot typically included in EPG data. To illustrate, EPG data may bedescriptive of content that is scheduled for transmission orbroadcasting, and the other information may include data descriptive ofvideo-on-demand (VOD) content and previously broadcast or transmittedtelevision content. In a particular embodiment, the other informationalso includes data descriptive of content available via a socialnetwork. For example, in FIG. 1, the rules engine 112 may access datadescriptive of content available via one or more of the server 110, thedatabase 120, and the server 118.

The method may also include, at 510, analyzing a plurality of rulesusing a forward-inferencing rules engine. For example, in FIG. 1, theforward-inferencing rules engine may include the rules engine 112. In aparticular embodiment, the forward-inferencing rules engine uses a Retealgorithm to determine whether one or more of the plurality of rules oneare satisfied by the data descriptive of the available content. Inparticular, the forward-inferencing rules engine may utilizeuser-defined rules as well as automatically generated rules in a singlepass.

The method may further include, at 512, selecting particular content forpresentation via a display device. The particular content selected mayinclude content of a startup screen presented in response to a set-topbox device or a television device being turned on, advertising content,EPG content (e.g., sorted or filtered based on the one or more rules),social network content, or any combination thereof. In another example,the particular content may include content displayed in response to auser logging into or presenting access credentials to a set-top boxdevice. In another example, the content may be displayed in response toa particular time threshold being reached. For example, the content mayinclude one or more alerts that are presented in response to determiningthat a time when a program that the user frequently watches is about tobegin.

The method may include, at 514, automatically sending particular contentto a display device. For example, in FIG. 1, the particular content maybe displayed at the television 106. Additionally, or in the alternative,the method may include prompting the user to sign up to participate in aparticular social network related to the particular content, at 516. Forexample, in FIG. 1, the television 106 may display a prompt thatprovides an option to sign up to participate in a social networkaccessible via the server 118.

Referring to FIG. 6, an illustrative embodiment of a general computersystem is shown and is designated 600. For example, various componentsof the computer system 600 may include, implement, or be included withinthe residential gateway 102, the set-top box device 104, the television106, the servers 110 and 118, the database 120, the devices 116 and 118,or any combination thereof.

The computer system 600 includes a set of instructions that can beexecuted to cause the computer system 600 to perform any one or more ofthe methods or computer based functions disclosed herein. The computersystem 600, or any portion thereof, may operate as a standalone deviceor may be connected, e.g., using a network, to other computer systems orperipheral devices.

In a networked deployment, the computer system 600 may operate in thecapacity of a set-top box device, a server, or a mobile computingdevice. The computer system 600 can also be implemented as orincorporated into various devices, such as a personal computer (PC), atablet PC, a personal digital assistant (PDA), a mobile device, apalmtop computer, a laptop computer, a desktop computer, acommunications device, a web appliance, or any other machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. In a particular embodiment, thecomputer system 600 can be implemented using electronic devices thatprovide voice, video or data communication. Further, white a singlecomputer system 600 is illustrated, the term “system” shall also betaken to include any collection of systems or sub-systems thatindividually or jointly execute a set, or multiple sets, of instructionsto perform one or more computer functions.

As illustrated in FIG. 6, the computer system 600 may include aprocessor 602, e.g., a central processing unit (CPU), agraphics-processing unit (GPU), or both. Moreover, the computer system600 can include a main memory 604 and a static memory 606 that cancommunicate with each other via a bus 608. As shown, the computer system600 may further include or be coupled to a video display unit 610, suchas a liquid crystal display (LCD), an organic light emitting diode(OLED), a flat panel display, a solid-state display, or a projectiondisplay. For example, the video display unit 610 may be television 106of FIG. 1. Additionally, the computer system 600 may include an inputdevice 612, such as a keyboard, a remote control device, and a cursorcontrol device 614, such as a mouse. The computer system 600 can alsoinclude a disk drive unit 616, a signal generation device 618, such as aspeaker or remote control device, and a network interface device 620.The network interface device 620 may be coupled to other devices (notshown) via a network 626.

In a particular embodiment, as depicted in FIG. 6, the disk drive unit616 may include a computer-readable non-transitory medium 622 in whichone or more sets of instructions 624, e.g., software, can be embedded.For example, the instructions 624 may enable the computer system 600 toperform one or more methods or logic described herein. In a particularembodiment, the instructions 624 may reside completely, or at leastpartially, within the main memory 604, the static memory 606, and/orwithin the processor 602 during execution by the computer system 600.The main memory 604 and the processor 602 also may includecomputer-readable non-transitory media.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, can be constructed to implement one or moreof the methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit. Accordingly, thepresent system encompasses software, firmware, and hardwareimplementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/item distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

The present disclosure contemplates a non-transitory computer-readablemedium that includes instructions 624 so that a device connected to anetwork 626 can communicate voice, video or data over the network 626.Further, the instructions 624 may be transmitted or received over thenetwork 626 via the network interface device 620. For example, thenetwork 626 may be the network 108 of FIG. 1.

While the non-transitory computer-readable medium is shown to be asingle medium, the terms “non-transitory computer-readable medium” and“non-transitory processor-readable medium” include a single medium ormultiple media, such as a centralized or distributed database, and/orassociated caches and servers that store one or more sets ofinstructions. The terms “non-transitory computer-readable medium” and“non-transitory processor-readable medium” shall also include any mediumthat is capable of storing a set of instructions for execution by aprocessor or that cause a computer system to perform any one or more ofthe methods or operations disclosed herein.

In a particular exemplary embodiment, the non-transitorycomputer-readable medium can include a solid-state memory such as amemory card or other package that houses one or more non-volatileread-only memories. Further, the non-transitory computer-readable mediumcan be a random access memory or other volatile re-writable memory.Additionally, the non-transitory computer-readable medium can include amagneto-optical or optical medium, such as a disk or tapes. Accordingly,the disclosure is considered to include any one or more of anon-transitory computer-readable storage medium and successor media, inwhich data or instructions may be stored.

It should also be noted that software that implements the disclosedmethods may optionally be stored on a tangible storage medium. Forexample, the tangible storage medium may include a magnetic medium suchas a disk or tape. As another example, the tangible storage medium mayinclude a magneto-optical or optical medium such as a disk. As yetanother example, the tangible storage medium may include a solid statemedium such as a memory card or other package that houses one or moreread-only (non-volatile) memories, random access memories, or otherre-writable (volatile) memories.

Although the present specification describes components and functionsthat may be implemented in particular embodiments with reference toparticular standards and protocols, the invention is not limited to suchstandards and protocols. For example, standards for Internet, otherpacket switched network transmission (e.g., TCP/IP, UDP/IP, HTML, X10,SIP, TR-069, INSTEON, WEP, Wi-Fi and HTTP) and standards for viewingmedia content (e.g., MPEG and H.264) may represent examples of the stateof the art. Such standards are periodically superseded by faster or moreefficient equivalents having essentially the same functions.Accordingly, replacement standards and protocols having the same orsimilar functions as those disclosed herein are considered equivalentsthereof.

One or more embodiments of the disclosure may be referred to herein,individually and/or collectively, by the term “invention” merely forconvenience and without intending to voluntarily limit the scope of thisapplication to any particular invention or inventive concept. Moreover,although specific embodiments have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar purpose may be substituted forthe specific embodiments shown. This disclosure is intended to cover anyand all subsequent adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the description.

The Abstract of the Disclosure is submitted with the understanding thatit will not be used to interpret or limit the scope or meaning of theclaims. In addition, in the foregoing Detailed Description, variousfeatures may be grouped together or described in a single embodiment forthe purpose of streamlining the disclosure. This disclosure is not to beinterpreted as reflecting an intention that the claimed embodimentsrequire more features than are expressly recited in each claim. Rather,as the following claims reflect, inventive subject matter may bedirected to less than all of the features of any of the disclosedembodiments. Thus, the following claims are incorporated into theDetailed Description, with each claim standing on its own as definingseparately claimed subject matter.

The above-disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments, which fall withinthe scope of the present disclosure. Thus, to the maximum extent allowedby law, the scope of the present disclosure is to be determined by thebroadest permissible interpretation of the following claims and theirequivalents, and shall not be restricted or limited by the foregoingdetailed description.

1. A customer premise equipment (CPE) device, comprising: a networkinterface; a processor coupled to the network interface; and memoryaccessible to the processor, the memory comprising instructions that areexecutable by the processor to: access data descriptive of contentavailable via a network coupled to the network interface; analyze aplurality of rules using an inferencing rules engine to determinewhether one or more of the rules are satisfied based on the data,wherein the rules include at least one user-defined rule and at leastone automatically generated rule, the at least one automaticallygenerated rule automatically generated based on user historyinformation; and select particular content of the content available viathe network for presentation via a display device.
 2. The CPE device ofclaim 1, wherein the CPE device comprises a residential gateway device.3. The CPE device of claim 1, wherein the CPE device comprises a set topbox device, a micro cell, a functional expansion unit, or anycombination thereof.
 4. The CPE device of claim 1, further comprising adisplay interface, wherein the instructions are further executable bythe processor to automatically send the particular content to thedisplay device via the display interface.
 5. The CPE device of claim 4,wherein the particular content includes content of a startup screen thatis displayed automatically when the CPE device or the display device ispowered on.
 6. The CPE device of claim 4, wherein the particular contentincludes advertising content.
 7. The CPE device of claim 4, wherein theparticular content includes television programming content.
 8. The CPEdevice of claim 4, wherein the particular content includes electronicprogram guide content.
 9. The CPE device of claim 8, wherein theelectronic program guide content is arranged in a particular order basedon the plurality of rules.
 10. The CPE device of claim 1, wherein theinferencing rules engine uses a Rete algorithm.
 11. The CPE device ofclaim 1, wherein the instructions are further executable to generate theuser history information by monitoring actions of a user.
 12. The CPEdevice of claim 11, wherein the actions indicate that the userfrequently accesses a particular program at a particular time.
 13. TheCPE device of claim 1, wherein the particular content includes contentassociated with a social network and wherein the instructions arefurther executable to prompt the user to sign up to participate in thesocial network.
 14. The CPE device of claim 1, wherein analyzing theplurality of rules includes determining program selections of one ormore social networking friends of the user.
 15. A method, comprising: ata customer premise equipment (CPE) device, accessing data descriptive ofcontent available via a network coupled to a network interface of theCPE device; analyzing a plurality of rules using an inferencing rulesengine to determine whether one or more of the rules are satisfied basedon the data, wherein the rules include at least one user-defined ruleand at least one automatically generated rule, the at least oneautomatically generated rule automatically generated based on userhistory information; and selecting particular content of the contentavailable via the network for presentation via a display device.
 16. Themethod of claim 15, further comprising generating the user historyinformation by monitoring actions of a user, wherein the actionsindicate that the user frequently accesses a particular program at aparticular time.
 17. The method of claim 16, further comprising: whenthe particular program is available or about to be available via atransmission, displaying an alert via the display device, automaticallytuning the CPE device to a channel associated with the particularprogram, or any combination thereof; and when the transmission of theparticular program has ended, displaying an option to access a recordedversion of the particular program.
 18. The method of claim 17, whereinthe recorded version of the particular program is accessible via thenetwork coupled to the CPE device and wherein the alert comprises ashort message service (SMS) alert, an e-mail alert, or any combinationthereof.
 19. A non-transitory processor-readable medium comprisinginstructions that, when executed by a processor, cause the processor to:at a customer premise equipment (CAT) device, generate user historyinformation by monitoring actions of a user, wherein the actionsindicate that the user frequently accesses a particular program at aparticular time; access data descriptive of content available via anetwork coupled to a network interface of the CPE device; analyze aplurality of rules using a forward-inferencing rules engine to determinewhether one or more of the rules are satisfied based on the data,wherein the rules include at least one user-defined rule and at leastone automatically generated rule, the at least one automaticallygenerated rule automatically generated based on user historyinformation; and select particular content of the content available viathe network for presentation via a display device, wherein theparticular content includes content associated with a social network.20. The non-transitory processor-readable medium comprising instructionsthat, when executed by the processor, cause the processor to send, tothe display device, a prompt to sign up to participate in the socialnetwork.